#ifndef _EFFECT_H_
#define _EFFECT_H_

#include "matrix.h"
#include "texture.h"

enum program_type
{
	prog_vertex,
	prog_pixel
};

class effect
{
public:
	effect(char* _buffer,const char* _vfunc,const char* _pfunc);
	~effect();

	void release();
	void bind();

	void set_param(program_type _type,const char *_param,int *_v,int _n);
	void set_param(program_type _type,const char *_param,float *_v,int _n);
	void set_param(program_type _type,const char *_param,matrix4& _mtx);
	void set_param(program_type _type,const char *_param,texture* _texture);

};

#endif